/*
 * 文件名:BatchspropServiceImpl.java
 * 创建时间:2010-10-01
 * 版本:2.0
 * 版权所有:杨涛 walle1027@gmail.com
 */
package com.yangtao.wms.master.batchsprop.service.impl;

import com.yangtao.framework.service.BaseService;
import com.yangtao.framework.util.StringHelper;
import com.yangtao.wms.dao.BatchsPropDao;
import com.yangtao.wms.domain.BatchsProp;
import com.yangtao.wms.master.batchsprop.service.BatchspropService;
import com.yangtao.wms.master.batchsprop.web.BatchspropModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author 代码生成器 v-2.0
 * @version 2.0
 */
@Service()
public class BatchspropServiceImpl extends BaseService implements BatchspropService {

	@Autowired
	protected BatchsPropDao batchsPropDao;

	/**
	 * 查询记录，并且分页
	 *
	 * @param model 页面参数
	 */
	@Override
	public BatchspropModel list(BatchspropModel model) {
		batchsPropDao.findPageByCondition(model.getPage(), model.getCondition());
		return model;
	}

	/**
	 * 取得唯一记录
	 *
	 * @param model 页面参数
	 */
	@Override
	public BatchspropModel loadBatchsProp(BatchspropModel model) {
		if (StringHelper.isNotEmpty(model.getBatchsProp().getId())) {
			model.setBatchsProp(batchsPropDao.loadForReview(model.getBatchsProp().getId()));
		}
		return model;
	}

	/**
	 * 新增记录
	 *
	 * @param model 页面参数
	 */
	@Override
	public BatchspropModel addBatchsProp(BatchspropModel model) {
		//VO
		BatchsProp batchsPropVO = model.getBatchsProp();
		//PO
		BatchsProp batchsPropPO = new BatchsProp();
		mapper.map(batchsPropVO, batchsPropPO);
		//保存对象
		batchsPropDao.save(batchsPropPO);
		//增加保存成功的消息
		model.addInfo("add.success");
		return model;
	}

	/**
	 * 更新记录
	 *
	 * @param model 页面参数
	 */
	@Override
	public BatchspropModel updateBatchsProp(BatchspropModel model) {
		//VO
		BatchsProp batchsPropVO = model.getBatchsProp();
		//主键
		String batchsPropId = batchsPropVO.getId();
		//PO
		BatchsProp batchsPropPO = batchsPropDao.load(batchsPropId);
		//复制页面属性
		mapper.map(batchsPropVO, batchsPropPO);
		//TODO 增加其他属性
		//TODO 更新关联对象
		//构造关联从对象
		//增加保存成功的消息
		model.addInfo("update.success");
		return model;
	}

	/**
	 * 删除记录
	 *
	 * @param model 页面参数
	 */
	@Override
	public BatchspropModel deleteBatchsProp(BatchspropModel model) {
		batchsPropDao.delete(model.getBatchsProp().getId());
		model.addInfo("delete.success");
		return model;
	}
}
